/************************************************************************
 * <br>
 * <ul>
 * <li>版权所有：唐山弘川科技有限公司 2009－2020</li>
 * <li>创建日期：2009-8-4</li>
 * <li>初始作者：刘川</li>
 * </ul>
 * <ul>
 * <b>修订历史</b>
 * <li>1、</li>
 * </ul>
 ***********************************************************************/
package com.hy.enterprise.framework.jpa.core.entity.util ;

import java.io.Serializable;

/**
 * 
 * 
 * <ul>
 * <li>开发作者：花宏宇</li>
 * <li>设计日期：2012-6-10；时间：上午09:02:08</li>
 * <li>类型名称：Identifierable</li>
 * <li>设计目的：表现具有操作标识符能力的接口<br>
 * 	当前具有实现类：<b>字符串类型</b>StringIdentifier;<b>整型类型</b>IntegerIdentifier
 * </li>
 * </ul>
 * <ul>
 * <b>修订编号：</b>
 * <li>修订日期：</li>
 * <li>修订作者：</li>
 * <li>修订原因：</li>
 * <li>修订内容：</li>
 * </ul>
 */
public interface Identifierable <T extends Serializable, S extends Serializable  > 
//public interface Identifierable < T extends Serializable > extends Serializable
{
	/**
	 * 标识符属性名称
	 */
	public static String	PROPERTY_IDENTIFIER	=  "identifier" ;
	//public static String	PROPERTY_IDENTIFIER	=  "identifier" ;

	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-4</li>
	 * <li>设计时间：下午05:55:45</li>
	 * <li>设计目的：获取标识符</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @return
	 */
	public S getIdentifier ( ) ;
	public T getId( ) ;

	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-4</li>
	 * <li>设计时间：下午05:55:37</li>
	 * <li>设计目的：设置标识符</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @param identifier
	 */
	public void setIdentifier (S identifier ) ;
	public void setId (T identifier ) ;
}
